package com.dsi.capa.bean;


import java.io.Serializable;
import java.util.List;

import com.dsi.capa.db.dao.AsistenciaDAO;
import com.dsi.capa.db.model.Asistencia;
import com.dsi.capa.db.util.DataSourceUtil;

public class AsistenciaBean implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private Asistencia asistencia;
	
	private List<Asistencia> asistencias;

	private AsistenciaDAO asistenciaDAO;
	
	private Integer page;
	
	private Integer pageSize;
	
	public AsistenciaBean() {
		asistencia = new Asistencia();
		asistenciaDAO = new AsistenciaDAO(DataSourceUtil.getDataSource());
//		page = new Integer(0);
//		pageSize = new Integer(10);
//		Alumnos = AlumnoDAO.findAll(page.intValue()*pageSize.intValue(), pageSize);
		
	}	
	
	/***************************METODO PARA EL BOTON DE ENTRADA ***********************************************/
	public void ingresarAsistencia()
	{
		//BUSCAR SI EXISTE EL EMPLEADO
		if(asistenciaDAO.buscarEmpleado(asistencia))
		{
			//COMPROBAR SI EL EMPLEADO HA CREADO SU ASISTENCIA SINO TIENE SE CREARA UNA NUEVA
			asistenciaDAO.buscarAsistencia(asistencia);
		}
	}	
	/**************************** METODO PARA EL BOTON DE SALIDA *********************************************/
	public void finalizarAsistencia()
	{
		//BUSCAR SI EXISTE EL EMPLEADO
		if(asistenciaDAO.buscarEmpleado(asistencia))
		{
			//COMPROBAR SI EL EMPLEADO HA CREADO SU ASISTENCIA SI NO LA TIENE DEBE CREAR UNA PRIMERO
			asistenciaDAO.cerrarAsistencia(asistencia);
		}
	}	
	/*************************************************************************/


	public Asistencia getAsistencia() {
		return asistencia;
	}

	public void setAsistencia(Asistencia asistencia) {
		this.asistencia = asistencia;
	}

	public List<Asistencia> getAsistencias() {
		return asistencias;
	}

	public void setAsistencias(List<Asistencia> asistencias) {
		this.asistencias = asistencias;
	}

	public Integer getPage() {
		return page;
	}

	public void setPage(Integer page) {
		this.page = page;
	}
	
	public String nextPage() {
		page = page.intValue() + 1;
		asistencias = asistenciaDAO.findAll(page.intValue()*pageSize.intValue(), pageSize);
		return null;
	}
	
	public String prevPage() {
		page = page.intValue() -1 ;
		if(page < 0) {
			page = 0;
		}
		asistencias = asistenciaDAO.findAll(page.intValue()*pageSize.intValue(), pageSize);
		return null;
	}
	
	public String save() {
		asistenciaDAO.save(asistencia);
		asistencia = new Asistencia();
		return null;
	}
	
	public String delete() {
		asistenciaDAO.delete(asistencia);
		asistencia = new Asistencia();
		return null;
	}
	
	public String update() {
		asistenciaDAO.update(asistencia);
		asistencia = new Asistencia();
		return null;
	}

}
